package com.sf.osms.dep.processor.parser;

import java.io.File;

import com.sf.osms.dep.domain.Agent;
import com.sf.osms.dep.domain.Handover;
import com.sf.osms.dep.processor.exception.RouterException;
import com.sf.osms.dep.processor.model.EventModel;
import com.sf.osms.dep.processor.util.HandoverLine;

public interface EventParser<T,E>{
	
	/**
	 * 将一个文件的每行解析成EventModel中的泛型对象，也就是将每行转换为对象存于EventModel的recordList中
	 * @param file 需要解析的文件
	 * @param agentInfo 代理的信息
	 * @return 
	 * @throws RouterException
	 */
	EventModel<T,E> parse(File file,Agent agentInfo) throws RouterException;

	
	/**
	 * 
	 * @param file
	 * @param agentInfo
	 * @return
	 * @throws RouterException
	 */
	EventModel<HandoverLine, Handover> parseHandovers(File file, Agent agentInfo)
			throws RouterException;
}
